Java Technologies for Real-Time and Embedded Systems (JTRES2013)

نویسنده

  • Geoffrey C. Fox
چکیده

This outline describes a special issue of papers from the 2013 workshop on Java Technologies for Real-Time and Embedded Systems [1]. There are 2 papers in this special issue. The first paper [2] discusses software locking mechanisms that commonly protect shared resources for multithreaded applications. This mechanism can, especially in chip-multiprocessor systems, result in a large synchronization overhead. For real-time systems in particular, this overhead increases the worst-case execution time and may void a task set’s schedulability. This paper presents 2 hardware locking mechanisms to reduce the worst-case time required to acquire and release synchronization locks. These solutions are implemented for the chip-multiprocessor version of the Java Optimized Processor. The 2 hardware locking mechanisms are compared with a software locking solution as well as the original locking system of the processor. The hardware cost and performance are evaluated for all presented locking mechanisms. The performance of the better performing hardware locks is comparable to the original single global lock when contending for the same lock. When several noncontending locks are used, the hardware locks enable true concurrency for critical sections. Benchmarks show that using the hardware locks yields performance ranging from no worse than the original locks to more than twice their best performance. This improvement can allow a larger number of real-time tasks to be reliably scheduled on a multiprocessor real-time platform. Safety Critical Java (SCJ) is a profile of the Real-Time Specification for Java that brings to the safety-critical industry the possibility of using Java. Safety Critical Java defines 3 compliance levels: Level 0, Level 1, and Level 2. The SCJ specification is clear on what constitutes a Level 2 application in its use of the defined API but not the occasions on which it should be used. The second paper [3] broadly classifies the features that are only available at Level 2 into 3 groups: nested mission sequencers, managed threads, and global scheduling across multiple processors. It then explores the first 2 groups to elicit programming requirements that they support. The paper identifies several areas where the SCJ specification needs modifications to support these requirements fully; these include support for terminating managed threads, the ability to set a deadline on the transition between missions, and augmentation of the mission sequencer concept to support composability of timing constraints. The paper also proposes simplifications to the termination protocol of missions and their mission sequencers. To illustrate the benefit of our changes, the paper presents excerpts from a formal model of SCJ Level 2 written in Circus, a staterich process algebra for refinement. We thank Kelvin Nilsen and Fridtjof Siebert for their work on this special issue.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Special Issue on Java Technologies for Real-Time and Embedded Systems JTRES2013

The first paper [2] discusses software locking mechanisms that commonly protect shared resources for multi-threaded applications. This mechanism can, especially in chip-multiprocessor systems, result in a large synchronization overhead. For real-time systems in particular, this overhead increases the worstcase execution time and may void a task set's schedulability. This paper presents two hard...

متن کامل

Checking Correctness At Runtime using Real-Time Java

Correctness of a real-time system depends on its computation as well as its timeliness. In recent years, research has been focusing on verifying the correctness of a real-time system during runtime by monitoring its runtime execution and checking it against its formal specifications. Such verification method is called Runtime Verification. While a few existing runtime verification tools verify ...

متن کامل

Java Embedded Real-Time Systems: An Overview of Existing Solutions

Java is a programming language with features not found in traditional languages such as platform independence and dynamic loading. Because of this, Java is extending and beginning to be used in many new environments. In particular, the advantages that Java provides make it a good candidate for distributed, real-time and embedded systems. However, Java presents some problems regarding its use in...

متن کامل

Application Experiences with a Real-Time Java Processor

In this paper we present three different industrial real-time applications that are based on an embedded Java processor. Although from different application domains all three projects have one topic in common: communication. Today’s embedded systems are networked systems. Either a proprietary protocol is used due to legacy applications or for real-time aspects or standard Internet protocols are...

متن کامل

JOP: A Java Optimized Processor for Embedded Real-Time Systems

Compared to software development for desktop systems, current software design practice for embedded systems is still archaic. C/C++ and even assembler are used on top of a small real-time operating system. Many of the benefits of Java, such as safe object references, the notion of concurrency as a first-class language construct, and its portability, have the potential to make embedded systems m...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Concurrency and Computation: Practice and Experience

دوره 29  شماره 

صفحات  -

تاریخ انتشار 2017